5-1

長條圖 (Bar Charts)特別適用於少量且離散的資料。欲畫出垂直長條圖,可用 bar 指令,例如:

Example 1: 05-特殊圖形/bar01.mx = [1 3 4 5 2]; bar(x);

bar 指令也可接受矩陣輸入,它會將同一橫列的資料聚集在一起,例如:

Example 2: 05-特殊圖形/bar02.m x = [2 3 4 5 7; 1 2 3 2 1]; bar(x);

若要畫出水平的長條圖,則可以用 barh 指令,其語法和 bar 指令相同,不再贅述,讀者可自行試試看。

bar 及 barh 指令還有一項特異功能,就是可以將同一橫列的資料以堆疊(Stack)方式來顯示,例如:

Example 3: 05-特殊圖形/bar03.mx = [2 3 4 5 7; 1 2 3 2 1]; bar(x,'stack')

除了平面長條圖之外,MATLAB 亦可使用 bar3 指令來畫出立體長條圖,如下:

Example 4: 05-特殊圖形/bar04.mx = [2 3 4 5 7; 1 2 3 2 1]; bar3(x)

bar3 指令還可以使用群組(Group)方式來呈現長條圖:

Example 5: 05-特殊圖形/bar05.mx = [2 3 4 5 7; 1 2 3 2 1]; bar3(x, 'group')

欲呈現水平的立體長條圖,可用 bar3h 指令,其語法和 bar3 相同,在此不再贅述。

類別垂直長條圖水平長條圖
平面 bar barh
立體 bar3 bar3h

若要指定長條圖的 x 座標,可使用兩個輸入向量給 bar 指令。假設台北的月平均溫度如下:

Example 6: 05-特殊圖形/bar06.mx = 1:6; % 月份 y = 35*rand(1, 6); % 溫度值(假設是介於 0∼35 的亂數) bar(x, y); xlabel('月份'); % x 軸的說明文字 ylabel('平均溫度 (^{o}c)'); % y 軸的說明文字 % 下列指令將 x 軸的數目字改成月數 set(gca, 'xticklabel', {'一月','二月','三月', '四月', '五月', '六月'});

在上例的最後一列程式碼,gca 傳回目前的圖軸,“xticklabel”則代表在 x 軸上每一個標點的說明文字,而整列程式碼即表示使用“一月”、“二月”等取代目前圖軸上的 x 軸標點說明文字。此部份屬於 Handle Graphics,詳情請見第七章「握把式圖形與 GUI 設計」。


MATLAB程式設計:入門篇